<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    // 1. 封装 打印nn乘法表功能的 函数
    function fn(n){
        document.write("<table border=1>");
        for(var j=1; j<= n ;j++){
            document.write("<tr>");
            for(var i=1;i<=j;i++){
                document.write("<td>"+ i +"*"+ j +"="+ i*j +"</td>");
            }
            document.write("</tr>");
        }
        document.write("</table>");
    }

    // 2. 封装 计算min~max之间数字和的 函数
    function fn2(min, max){
        if( min > max ){
            var x = min;
            min = max;
            max = x;
        }

        var sum = 0;
        for(var i=min; i<=max; i++){
            sum += i
        }
        console.log(sum);
    }


    // 3. 封装 计算min~max之间所有数字的阶乘的和的 函数
    function fn3( min, max ){
        var sum = 0;
        for(var i=min; i<=max; i++){
            var res = 1;
            for(var j=1;j<=i;j++){
                res *= j;
            }
            sum += res;
        }
        console.log(sum);
    }


    // 4. 封装 判断2023年是否是闰年的 函数
    function fn4(year){
        var res = "";
        if(year%4===0 && year%100!==0 || year%400===0){
            res = year + "是闰年"
        }else{
            res = year + "是平年"
        }
        console.log(res)
    }


    // ============


    // 形参，arguments的应用场景

    // 形参
    // 封装 计算三个任意数字的和 的函数
    // function sum(n1, n2, n3){
    //     console.log(n1 + n2 + n3);
    // }
    // sum(3, 5, 2)
    // sum(6, 2, 8)
    // sum(56, 14, 34)
    
    // 封装 计算任意个任意数字的和 的函数
    function sum(){
        var s = 0;
        for(var i=0;i<arguments.length;i++){
            s += arguments[i];
        }
        console.log(s);
    }

    sum(4, 7);
    sum(3, 7, 2, 9);
    sum(6, 4, 7);




</script>
</html>